1. Technical Field of the Invention
The present invention relates to the field of peripheral communications in digital data systems, and more particularly, to the configuration of bus cards for peripheral devices coupled to a digital data system.
2. Description of Related Art
In digital data systems, such as computer systems, peripheral devices are typically connected to a bus of the system through a bus card. The system bus and the individual bus cards which connect a plurality of peripheral devices to the system, allow the peripheral devices and the system components to communicate with one another. For certain bus architectures, such as the industry standard architecture (ISA) bus, a number of resources must be allocated among the bus cards connected to the bus in order for the system to function properly. These resources include direct memory access channels, interrupt levels, and memory and I/O address spaces.
Since there is no defined mechanism for allocating these resources in the ISA bus architecture, configuration of the bus cards for the ISA bus is typically done with jumpers. The jumpers form a hardwired solution for providing the decode maps for memory and I/O space, and steering the DMA and interrupt signals to different pins on the bus. The resolution of conflicts in resource sharing among the bus cards relies on documentation provided by individual card manufacturers, making the configuration process difficult. Although there are other bus architectures that do not have these problems, the popularity of the ISA bus spurred development of a solution to these problems.
The proposed solution to the allocation of resources and conflict resolution in the ISA bus architecture is a protocol known as the "plug and play" protocol. Plug and play software, according to the plug and play specification, optimally allocates system resources between "plug and play" ISA cards and the other devices in the system without user intervention.
The plug and play specification requires each bus card to have a unique identification number (the "ID") in order to automatically configure an ISA bus card. This ID is read by a host processor at the time of power-up or system reset to configure the device. Additionally, to comply with the plug and play standard, the ISA bus card must store its system resources (resource data structure, or "RDS") on the card itself. It is recommended in the plug and play specification that the ID and the system resources (RDS) be stored in serial electrically erasable programmable read only memory (EEPROM).
The requirement that each bus card have a unique ID poses a manufacturing problem in the mass production of plug and play ISA bus cards. In order to efficiently produce the bus cards, the EEPROM's for the individual bus cards need to be programmed simultaneously. However, this is problematical since each card must be programmed with a different ID, although the RDS is the same in each EEPROM.